package com.xdtech.hotel.service;

import java.util.List;
import java.util.Map;

import com.xdtech.common.service.IBaseService;
import com.xdtech.hotel.model.DeviceLinkOption;
import com.xdtech.hotel.vo.DeviceLinkOptionItem;
import com.xdtech.web.model.Pagination;

/**
 * 
 * @author max.zheng
 * @create 2015-04-04 11:13:09
 * @since 1.0
 * @see
 */
public interface DeviceLinkOptionService extends IBaseService<DeviceLinkOption>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-04-04 11:13:09
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateDeviceLinkOption(DeviceLinkOptionItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:13:09
	 * @modified by
	 * @param newId
	 * @return
	 */
	DeviceLinkOptionItem loadDeviceLinkOptionItem(Long deviceLinkOptionId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-04-04 11:13:09
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteDeviceLinkOptionInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-04-04 11:13:09
	 * @modified by
	 * @param deviceLinkOptionIds
	 */
	boolean deleteDeviceLinkOptionInfo(List<Long> deviceLinkOptionIds);

	/**
	 * 根据元件关联id，查询关联配置参数
	 * @author max.zheng
	 * @create 2015-4-5下午1:02:29
	 * @modified by
	 * @param pg
	 * @param deviceLinkId
	 * @return
	 */
	Map<String, Object> loadByDeviceLinkId(Pagination pg, Long deviceLinkId);

	/**
	 * 根据元件关联id,删除关联配置参数
	 * @author max.zheng
	 * @create 2015-4-5下午3:33:33
	 * @modified by
	 * @param id
	 */
	void deleteByLinkId(Long linkId);

	/**
	 * 根据元件关联id，查询对应参数
	 * @author max.zheng
	 * @create 2015-4-9下午11:27:42
	 * @modified by
	 * @param id
	 * @return
	 */
	List<DeviceLinkOptionItem> loadDeviceLinkOptionsByLinkId(Long id);
}
